The present invention generally relates to application platform registration by a computer management system, and more particularly, to a system and method using a registration manager for efficiently registering task descriptions on demand.
A large number of application platform products are available in the computer industry that are designed to allow other applications software products to actively interoperate or integrate with them. The application platform provides a set of common services that reduce the amount of work associated with developing the applications and also provides a single interface to the user. In addition, an application platform product typically includes some number of base or built in applications that use these common services. Examples of these application platforms include database products, network management products, operating systems, group collaboration tools and system management products. Hewlett-Packard""s system administration manager (SAM) is a specific example of such an application platform that provides for a number of common system management services, such as error handling, event logging, user interface control, and task management.
In this type of software product, a need exists for the ability to learn about newly installed application products so that necessary information about the new product is available in the platform for accomplishing planned interoperability or integration. Since this information is needed at runtime, i.e., while the application platform is actually in operation on a computer system, the information must be loaded into the memory of the computer system at runtime. It would be difficult and problematic to try to load this information into memory prior to the invocation of the application platform and to leave it in memory after the application platform has been exited by the user. Thus, the cost of loading this information must be borne at runtime, typically at the start up of the application platform.
The cost of loading this information at runtime can be significant both in the time it takes to load in the information and in the memory space required to hold all the information. Loading the information usually entails opening a number of files on a file system, allocating memory to store their contents, and reading them into that allocated memory.
The information that must be loaded is typically descriptive information about some portion of the operation of the associated application product. In the case of SAM, this descriptive information includes the descriptions of entries in a menu system that allows the user to select the application for execution, the descriptions of some data structures used to share information between applications, and the descriptions of some tasks that the application product can perform as part of managing a portion of a computer system. For purposes of illustrating some of the disadvantages associated with loading such information into memory at runtime, a brief discussion follows regarding the invocation and execution of system management tasks associated with system management applications as a part of SAM.
The aforementioned management tasks come in two types and three implementations. The first type of task, referred to as a query task, contacts the system or utility being managed to retrieve information about the current configuration and state of the system or utility. The second type of task, referred to as an action task, actually makes changes to the configuration or state of the system or utility.
In regard to implementation, these management tasks can be implemented as a set of commands executed by a command interpreter on the computer system, typically written in some interpreted scripting language, such as that of the POSIX shell. They can also be implemented as one or more functions found in a shared library. A third implementation is as a change performed across a number of computer systems simultaneously via some remote communication protocol.
The SAM employs a task manager facility to interpret the management task descriptions and to manage the execution of these management tasks. This task manager is able to perform management tasks implemented in any one of the three forms as a common service for all SAM based system management applications. In operation, the task manager, upon receiving a request to perform a specific management task, retrieves the description for the specified task from memory and then manages the execution of that task. Once the task is completed, the task manager facility processes the results and then performs several housekeeping duties such as logging the completion of the task and processing any error messages. Accordingly, any application product installed on the computer system that is integrated with the SAM can call for the execution of any task that has been registered whether by it or any other application. Thus, all the descriptive information for each management task is loaded into memory during a process called start up registration which occurs at the beginning of each user session. Considering that this entails reading, parsing, and loading into memory up to 900 tasks and 100 data classes at each start up, it can be appreciated that this process is time consuming and utilizes a significant amount of valuable memory. However, in a typical user session, only a few tasks, i.e., 10 or so, are executed. Thus, the system is unjustifiably hindered by the time consuming task of parsing and loading all the task descriptions which are then stored in memory, taking up valuable space.
Therefore, a heretofore unaddressed need exists in the industry for a registration system and method for registering task descriptions in an efficient manner that does not hinder performance, especially with respect to conserving memory and minimizing registration processing time. Moreover, the same statement can be made about other similar application platform products that must be able to load into memory at runtime similar descriptive information.
The present invention overcomes the inadequacies and deficiencies of the prior art as discussed hereinbefore and as well known in the industry. The present invention can be broadly thought of as a novel application platform product registration system and method which efficiently registers product information on demand. For purposes of brevity, the present invention is disclosed herein as a registration manager that manages management task registration processes and that can be employed within a system administration manager, such as Hewlett-Packard""s SAM, via a software program. The registration manager facilitates the efficient registration of the descriptions of management tasks by providing on demand registration of the tasks. Consequently, only the tasks utilized during a user session are parsed and loaded into memory. This enhances the system administration manager""s performance by not having to register all the management tasks at the beginning of each user session.
The operation of the registration manager can generally be divided into static registration and runtime registration. Static registration occurs when a system management application that is being installed on the system calls for the registration of all the management tasks associated with that application. This includes reading and parsing each description file containing task descriptions found in the fileset that is provided with the application. By doing so, the tasks are checked for syntax errors and duplication of names. If either occurs, an error message is issued and the installation is aborted. During this process, certain information about each task is copied into several persistent data structures or tables referred to as a task list and a files list. These lists are stored in files and are collectively referred to as the static registry. Because a minimal amount of information is kept in the aforementioned lists, the list can be quickly loaded into memory at the beginning of each user session of SAM. This produces a dramatic savings in memory since the two lists occupy much less space in memory than would all the task descriptions. In addition, there is a dramatic savings in processing time since only the two lists are loaded as opposed to parsing and loading every task description.
Thus, at beginning of each user session, the lists comprising the static registry are loaded into memory for use by the registration manager when a task is being requested to be executed. The in-memory versions of the task list and files list are collectively referred to as the runtime registry.
Runtime registration occurs when a management application that is operating requests for the first time in a user session that a particular management task be performed. In runtime registration, the information contained in the files list and the task list are utilized to locate the particular file containing the requested task description. Once located, a parser is invoked and a detailed description of the task is loaded into memory for use by the task manager facility for the remainder of the user session. Thus, any subsequent request for that task can be performed using the task description already in memory.
In accordance with a feature of the present invention, it allows other management applications to take advantage of management task descriptions previously registered and existing in memory rather than having to include those tasks descriptions in their associated fileset for installation.
Other features and advantages of the present invention will become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional features and advantages be included herein within the scope of the present invention, as is defined by the claims.